#pragma once

#include <DirectXMath.h>

struct LineVertex
{
	DirectX::XMFLOAT3 Pos;
	DirectX::XMFLOAT3 Color;
};

struct SimpleVertex
{
	DirectX::XMFLOAT3 Pos;
	DirectX::XMFLOAT2 Tex;
	DirectX::XMFLOAT3 Normal;
	DirectX::XMFLOAT3 Binormal;
	DirectX::XMFLOAT3 Tangent;
	DirectX::XMFLOAT3 Color;
};

struct CBView
{
	DirectX::XMMATRIX ViewMatrix;
};

struct CBProjection
{
	DirectX::XMMATRIX ProjectionMatrix;
};

struct CBModel
{
	DirectX::XMMATRIX TransformMatrix;
	DirectX::XMFLOAT4 Color;
};

struct CBLight
{
	DirectX::XMFLOAT4 DiffuseColor;
	DirectX::XMFLOAT4 AmbientColor;
	DirectX::XMFLOAT4 Pos;
	DirectX::XMMATRIX LightView;
	DirectX::XMMATRIX LightProjection;
};

struct CBOptions
{
	float bumpiness;
	DirectX::XMFLOAT3 padding;
};